package com.ruoyi.finance.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * walmart账单总报告
 */
@Data
@TableName("walmart_profit_report")
public class WalmartProfitReport {

    @JsonSerialize(using = ToStringSerializer.class)
    @TableId(value = "wpr_id", type = IdType.ASSIGN_ID)
    private Long id;

    @TableField("wpr_report_code")
    private String reportCode;

    @TableField("wpr_status")
    private String status;

    @TableField("wpr_payout_amount")
    private BigDecimal payoutAmount;

    @TableField("wpr_start_date")
    private Date startDate;

    @TableField("wpr_end_date")
    private Date endDate;

    @TableField("wpr_create_time")
    private Date createTime;

    @TableField("wpr_created_by")
    private String createdBy;

    @TableField("wpr_storage_fee_total")
    private BigDecimal storageFeeTotal;

    @TableField("wpr_adjustments_total")
    private BigDecimal adjustmentsTotal;

    @TableField("wpr_disposal_fee_total")
    private BigDecimal disposalFeeTotal;

    @TableField("wpr_inventory_transfer_fee_total")
    private BigDecimal inventoryTransferFeeTotal;

    @TableField("wpr_advertising_fee_total")
    private BigDecimal advertisingFeeTotal;

    @TableField("wpr_sem_fee_total")
    private BigDecimal semFeeTotal;

    @TableField("wpr_other_fee_total")
    private BigDecimal otherFeeTotal;

    @TableField("auth_id")
    private Long authId;

    @TableField("wpr_image_path")
    private String imagePath;

    @TableField("wpr_rate")
    private BigDecimal rate;

    @TableField("wpr_paid_status")
    private String paidStatus;

    @TableField(exist = false)
    private List<WalmartProfitReportDetail> details;

    @TableField(exist = false)
    private String shopName;
}

